In satellite positioning systems (such as the global positioning system or GPS), the position of a receiver (user) and its time offset from the system time (i.e. the correction to the receiver time at which the receiver is determined to be at the determined position) can be determined by using (pseudorange) measurements obtained from information (ephemerides and C/A-code phases) provided from at least four satellites. Such a determination can use satellite measurements at a particular instant of time, in what is called a single-point solution, a solution that in no way takes into account past information obtained from the satellites; any error in the measurements obtained from the satellites, including error from noise or multi-path, is reflected in such a single-point solution.
Filtering with a Kalman filter (or some modification of such a filter) can instead be used to enhance the quality of the receiver's estimated track (by providing smoother, less noisy solutions than are provided by a single-point solution), and also to provide useable solutions in periods when satellite measurements are not available (because of poor signal conditions). The performance of any such filter is dependent on how the receiver's motion is modeled in the filter. Usually, instead of using an ordinary Kalman filter, what is called an extended Kalman filter (EKF), which is a linearized form of Kalman filter, is used, because a standard Kalman filter assumes that the measurement update equations are linear, and for positioning problems the measurement update equations, which involve the pseudoranges, are nonlinear. For a (standard) Kalman filter to be used, there has to be a linear relationship between the measurement vector m and state vector s, such that m=H·s, where H is some matrix. In GPS positioning, if the state vector is for example of the form [x y z t], where (x,y,z) indicates position and t represents clock bias, there is no such linear equation between pseudorange measurements and state. Instead, the ith component of the measurement vector (i.e. the pseudorange from the ith satellite), is given by             m      ⁡              (        i        )              =                                        (                                          x                i                            -              x                        )                    2                +                              (                                          y                i                            -              y                        )                    2                +                              (                                          z                i                            -              z                        )                    2                      ,which is obviously not a linear relationship. In an EKF, to be able to still use a Kalman type filter in an application where such a nonlinear relationship exists, the nonlinear relationship is approximated by a linear relationship by forming a truncated Taylor series of the nonlinear equation and taking the first, linear term of the series. In practice, this means that the H matrix in the equation m=H·s is approximated by the so-called Jacobian (known in the art) of the pseudorange equations.
Thus, in an EKF, a standard Kalman filter (for linear systems) is applied to nonlinear systems (with additive white noise) by continually updating a linearization around a previous state estimate, starting with an initial guess. In other words, a linear Taylor series approximation (no nonlinear terms) of the system function at the previous state estimate is made, and a linear Taylor series approximation of the observation function at the corresponding predicted position. Such an approach yields a relatively simple and efficient algorithm for handling a nonlinear model, but convergence to a reasonable estimate depends to a great extent on the accuracy of the initial guess at the desired position; the algorithm may not converge if the initial guess is poor or if disturbances to the motion are so large that linearization is inadequate to describe the system.
The prior art also teaches using what is called the interacting multiple model (IMM) solution, in which various motion models are assumed for the motion of the receiver (modules assuming slow turning, fast turning, slow accelerating, fast accelerating, and so on), and the outputs of the different models are combined based on weights that take into account how the predictions of the model agree with later measurements made on the basis of later information received from the satellites. In such an approach, each model (branch of the IMM solution) is implemented as an EKF.
The Kalman filter solution (usually an EKF solution), as noted, is in principal superior to a single-point solution in that it uses more information and provides a correspondingly more educated receiver position estimate. The IMM solution is in principal suitable for a wider range of applications than any single-model solution. But the prior art of GPS teaches using only an EKF for each model of an IMM solution.
The EKF is known to be inferior to an ordinary Kalman filter in performance, and the theoretical optimality results related to a Kalman filter do not apply to an EKF. In addition, using an EKF to implement each model of an IMM solution makes problematic using measurements based on information other than that provided by the positioning satellites, such as information from complementary positioning systems (e.g. cellular systems) and sensors including for example micro-electromechanical sensors such as inertial sensors (gyroscopes or accelerometers) and barometric altimeters. To integrate a measurement from a complementary positioning system into an EKF solution requires fusing another measurement to the state vector via some new non-linear relationship which must be linearized and is therefore computationally costly.
The prior art also teaches a two-stage solution, depicted in FIG. 1, in which a single-point solution (versus a Kalman filter type or predictive filter solution which takes into account past measurement points) is used based on pseudorange measurements, and the single-point solution is then provided to a single Kalman filter. However, such an approach does not take advantage of the wider range of applicability of a solution based on the IMM.
What is needed, in order to provide a solution that is suitable in a wide range of applications and that provides reasonable estimates of a receiver's position even in poor signaling conditions, is an IMM positioning solution that does not suffer from the defects of one that uses an EKF to implement each model. Ideally, the sought-after IMM positioning solution would require less calculations than an EKF-based IMM solution, and would allow for using information from complementary positioning systems and sensors in a more straightforward manner.